logo
8 (391) 249-82-23
Обратная связь
 

DosBox под Win x64, или TurboC 3.0 для ADAM-4501

Коллеге потребовалось изменить старый проект для ADAM-4501, но вот незадача - после последнего случая использования средств разработки под него операционная система на компьютере коллеги увеличила свою разрядность - стала 64-разрядной. А под ней TurboC 3.0 не запускается! Собственно, компилятор не важен, но ADAM-4501 работает на 80186, и нужна генерация соответствующего кода. Первый вариант, который тут же был опробован, - установка режима совместимости с более ранними версиями Windows, ничем не помог. Следующий, наиболее очевидный шаг, это установка виртуальной машины с 32-разрядной версией Windows на ней. Однако - как быть с COM-портами, через которые должно программироваться целевое устройство? Да, в современных "виртуалках" порты можно сделать доступными, но хотелось чего-то большего. Например - редактора или IDE с разнообразной подсветкой синтаксиса и автодополнением кода. Конечно, можно редактировать исходные тексты на "несущем" компьютере, а компилировать их на "гостевом", но сам процесс передачи этих файлов будет отнимать какое-то время и требовать дополнительных усилий, пусть и небольших. В общем -  неудобно это. Установка в "гостевой" соответствующего редактора или IDE могла решить проблему, но нет ли варианта, меньше нагружающего компьютер?

Есть. TurboC имеет возможность, как и все вменяемые компиляторы, работать из командной строки, и вполне себе работоспособен под DosBox. Осталось связать всё это вместе. А для этого есть make, который у большинства программистов и так уже установлен. А если нет - рекомендую присмотреться, с ним многие настройки при компиляции проекта становятся проще. Таким образом, задача свелась к тому, чтобы запустить TurboC под DosBox с передачей ему параметров. Ну а IDE у нас будет выступать Eclipse. Если бы не хватило командной строки, то оставался вариант с AUTOEXEC.BAT .

DOSBOX ПОД WIN X64 DOSBOX ПОД WIN X64

Механизм работы всей связки следующий: DosBox получает основные настройки из конфигурационного файла, который следует подготовить под ваши требования. При запуске компиляции в Makefile формируется сначала командная строка для tcc - компилятора, работающего из командной строки. Следом формируем командную строку для DosBox-а, где в качестве одного из параметров выступает та, которой будет запускаться tcc. Ну и собственно - выполняется. Некоторые сложности вызвало тасование одинарных и двойных кавычек, чтобы они не перекрывались между собой.

Ещё один важный момент: Сообщения компилятора перенаправляются в отдельный файл. И даже если его вывести на консоль, Eclipse не понимает формат сообщений, поэтому подсветки строки с ошибкой нет. Если вам нужен подобный функционал - напишите констольную утилиту, которая будет брать файл или читать stdin и преобразовывать по требуемому шаблону с выводом на stdout.

В конце - архив с файлами. Распаковать в место установки DosBox.

krasavt.ru
Терентьев Олег

IMAGE
DosBox под Win x64, или TurboC 3.0 для ADAM-4501  
Коллеге потребовалось изменить старый проект для ADAM-4501, но вот незадача - после последнего случая использования средств разработки под него операционная система на компьютере коллеги увеличила свою разрядность - стала 64-разрядной. А под ней TurboC 3.0 не запускается! Собственно, компилятор не важен, но ADAM-4501 работает на 80186, и нужна генерация соответствующего кода. Первый вариант, который тут же был опробован, - установка режима совместимости с более ранними версиями Windows, ничем не помог. Следующий, наиболее очевидный шаг, это установка виртуальной машины с 32-разрядной версией Windows на ней. Однако - как быть с COM-портами, через которые должно программироваться целевое устройство? Да, в современных "виртуалках" порты можно сделать доступными, но хотелось чего-то большего. Например - редактора или IDE...
IMAGE
Демопроект для ИТ-485МБ на RapidSCADA  
Возникла потребность разобраться с принципами работы SCADA-систем, благо и подопытный был - недавно разработанный модуль ИТ-485МБ. Поиск доступной информации в интернете дал ссылку на страничку со сводной таблицей, весьма полезной, хоть и устаревшей. Здесь сразу и тип лицензии, и ограничения, суммы для разных типов лицензий. После беглого обзора я остановился на двух системах - MasterSCADA и RapidSCADA. Причиной выбора была их бесплатность. Так как раньше с такими системами я не сталкивался, а платить деньги только ради изучения, причём в некоторых случаях - немалые, с неизвестным результатом я не хотел. Если первая программа бесплатна только до 32 тегов, то вторая авторами распространяется без ограничений и умеет обрабатывать до 65535 тегов. С неё то я и решил начать. Скачал с официального...
 

Copyright © 1994–2021. Все права защищены. НТЦ "Автоматика"
г. Красноярск, ул. Борисова, д.14 ст.7, оф.303
Схема проезда